package baiqitun.stupro.security.service;

import baiqitun.stupro.common.service.MyService;
import baiqitun.stupro.security.entity.SysDepart;
import baiqitun.stupro.security.entity.SysDepartUser;
import baiqitun.stupro.security.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 部门用户表 服务类
 * </p>
 *
 * @author kedaji
 * @since 2020-03-25
 */
public interface SysDepartUserService extends MyService<SysDepartUser> {
    /**
     * 保存一条部门用户关系
     * @param departUser 部门用户关系
     * @return 操作是否成功
     */
    @Override
    boolean save(SysDepartUser departUser);

    /**
     * 保存用户到指定部门
     * @param user 用户信息
     * @param departId 部门信息
     */
    void saveUserToDepart(SysUser user, String departId);

    /**
     * 列出用户所在的部门
     * @param userId 用户id
     * @return 部门信息
     */
    List<SysDepart> listDepartForUser(String userId);

    /**
     * 获取系的用户
     * @param departId 系id
     * @param year 用户部门时间建立时间（用户的什么时候被加到此部门的）
     * @return 用户信息列表
     */
    List<SysUser> listUserForDepartOfYear(String departId, Integer year);
}
